Commons app v2.13 beta

Hope you are all safe and well. We’ve just released v2.13 to beta, which includes:

– A new media details UI, which includes the ability to zoom and pan around images
– When the user uploads a picture with a geotag, the app will check for Nearby places that need photos around that location, and one is found, it will ask the user “Is this a picture of Place X?”
– Modifications to Nearby filters based on user feedback
– Bug and crash fixes for stuff that got broken by the codebase overhaul

Our next release will likely contain structured data integration, bookmarks for the Nearby map, and a couple of other new features.

Stay tuned!

Commons app v2.13 beta

A greatly-overdue Commons app update

Wow, has it really been a year since the last post I wrote on this blog? Time has really gotten away from me for a bit!

Much has changed in the Commons app since I last wrote. We have completed our codebase overhaul, and are proud to report a much more modern, stable, organized codebase. Also, from all reports that we have, the persistent upload failures that have plagued a few users have been solved! More details can be found on our Project Grant’s midpoint report.

Some screenshots from our new Nearby filters feature in v2.12:

Nearby filters in Commons app 01 Nearby filters in Commons app 02

And a map of p18 edits made with our app (images uploaded via Nearby for places that need them) from all around the world:

Commons app p18 edits map

2020 plans

We may also have an iOS app coming up for those of you who use iPhones! We are currently proposing its creation here – feel free to post your thoughts on it. ๐Ÿ™‚

As usual, thank you to every one of you who has made all of this possible.

A greatly-overdue Commons app update

2019: Next steps

We’re excited to announce that our recent Project Grant proposal has been approved. ๐Ÿ™‚ This means there will be lots of improvements coming up in 2019, with focus on improving stability and the upload experience for users.

Our first priority will be rewriting the legacy backend code to adhere to modern standards and reduce complexity (especially the network layer, which currently uses a deprecated API). This is aimed at resolving a few major lingering bugs (especially upload failures for a few users), as well as creating a solid technical foundation to base future improvements on. Several new features are slated for release after that, including filters and bookmarks for the “Nearby places that needs pictures” feature, a pause and resume function for uploads, and a “limited connection” mode.

Thank you so much to everyone who has supported us thus far, especially in the last rocky year! ๐Ÿ™‚ At the conclusion of this grant, we hope to deliver a much better app to you.

2019: Next steps

v2.10 beta

New features

Search for (and upload pictures for) places that need pictures in any location

Don’t you just hate it when you go on a photo trip, take photos of places that need pictures, then go back home… and you can’t upload those photos via Nearby because you’re not near those places anymore? We agree. We have now implemented a “search this area” feature in Nearby that allows you to search any location for places that need pictures, and upload photos for them.

To reduce vandalism, we have also implemented a check where the coordinates of a photoย  being uploaded via Nearby are compared against the coordinates of the place that needs pictures. If they are very different, a warning will pop up, reminding the user of this and asking if they are sure that they want to proceed.

News about ongoing campaigns

We have been wanting to integrate campaigns into the app for a long time now, and finally took the first step in this direction. During campaign periods, users will see a message on the main screen of the app about the active campaign, and tapping the message will bring them to the campaign page. Just like the “nearest place that needs pictures” message above it, swiping this message will remove it from the main screen, and it will not be displayed anymore unless the user re-enables it in Settings.

Implementation of this feature was surprisingly tricky, as we were unable to find any upstream APIs that we could access with a clear start and end date, even just for major global campaigns. We eventually decided to create a “campaigns” repository containing a JSON file with the information that we needed. Currently we have only added WLE and WLM to the file, but we welcome pull requests from anyone who would like to add to it.ย Other improvements that we are hoping to implement in the future are country-specific support, and full campaign upload integration.

(Yes, the WLM dates for the screenshot above are wrong. We had to temporarily change the dates in order to take the screenshot, as there is no campaign running currently. ๐Ÿ˜‰ If you look at the latest alpha version of the app now, you will not see any campaigns. However, you will see them once the next campaign becomes active.)

Easily re-upload failed uploads

Users can now re-upload failed uploads directly through their main screen by tapping the “retry” button, or remove the failed upload from their contributions list by tapping the “cancel” button. Also, if we are able to detect the reason for a failed upload (for instance, an authentication error), we will display a Toast explaining the reason and suggesting steps that the user can take to fix it.

We do understand that this does not solve the underlying problem. There are plans to overhaul the way the app handles authentication tokens, as well as plans to save upload progress when a connection is lost. However, those changes are not trivial and will take a lot of time to implement, so we hope that this improvement will tide users over until that can be done.

Other improvements

New Medium blog

We have a new Medium blog, for those who prefer to read updates via Medium –ย https://medium.com/@commons_android_appย ! ๐Ÿ™‚ If you prefer this blog instead, no fear – we intend to update both.

Optimized Nearby loading

The Nearby Places feature should load much more quickly now! Give it a whirl. ๐Ÿ™‚

Alpha testing

Announcing: Our new, automated alpha testing system! ๐Ÿ™‚

For the first time, users can easily access our development builds via alpha releases. Rather than having to wait for a Play Store release that is painstakingly tested and deployed by the devs, by signing up for alpha testing you can access all (or at least, most) code changes as they come in, with only a delay of a few hours.

It may be worth noting that these builds may be unstable sometimes, with a higher risk of bugs and crashes than beta test versions. Also, the automated nature of releases means that alpha testersย will usually be getting updates every day or even several times per day, so be sure to set up Google Play to only download updates on Wi-Fi.

If none of that deters you, feel free to sign up! Testing the app takes a lot of our time and resources, and we greatly appreciate any help with that. If you find any issues, please report them here and mention that you are using the alpha build.

How to sign up for alpha testing:

  1. Under the Google account associated with your phone and Google Play, join this Google Group:ย https://groups.google.com/d/forum/commons-alpha
  2. Still under the same Google account, go toย https://play.google.com/apps/testing/fr.free.nrw.commons/joinย and join the test program (if it says you have already joined, then skip this step)
  3. Check the “About” page of the app – the app’s version number should display something like 2.10.0.210~5a6402c. The Play Store listing will still tell you that you are a “beta tester” (a Google Play bug that we cannot do anything about).
A more beginner-friendly Nearby package

We have added Javadocs and tidied up the code in the Nearby package, to make it more accessible to new volunteer developers. ๐Ÿ™‚ If you’re contemplating dipping your toes into open source development for the first time, you are most welcome to drop by our repository and take a look. This volunteer guideย in our wiki is a great way to start!

v2.10 beta

Commons app Project Grant proposal

Hi folks,

Hope you’ve all been well! ๐Ÿ™‚ We (the Commons app team) are applying for a Project Grant to fund the development of v3.0 of the Commons Android app. At the moment, we’re approaching completion of our 2nd Individual Engagement Grant, having implemented several major new features, e.g. a revamped map of “nearby places that need photos” with direct uploads and Wikidata integration, user talk notifications, browsing of other Commons pictures with focus on featured images, and 2FA logins. We currently have 4000+ active installs, and 15,000+ distinct images uploaded via our app have been used in Wikimedia articles. In the last 6 months alone, 21,241 files were uploaded via our app, and only 1738 (8.2%) of those files required deletion. We are also proud to report that we have a vibrant, diverse community of volunteers on our GitHub repository, and that we have increased our global user coverage since our first grant.

It has been a rocky road this year, however. One of the major issues we faced was that a large portion of our codebase is based on sparsely-documented legacy code from the very first incarnation of the app 5 years ago (a long time in the Android development world), leading to unpredictable behavior and bugs. We eventually found ourselves in a position where new features built on top of legacy code were causing other features to not work correctly, and even fixes to those problems sometimes had side effects that caused other problems. (My sincerest apologies to users for the inconveniences that they were caused!)

In view of that, our Project Grant proposal focuses on these areas:

  • Increasing app stability and code quality: We plan to overhaul our legacy backend to adhere to modern best practices, reduce complexity and dependencies in our codebase, and introduce test-driven development for the first time.
  • Targeted acquisition of photos for places that need them: The “Nearby places that need photos” feature has come a long way, but there is still plenty of room for improvement. We plan to introduce new quality-of-life features (e.g. by implementing filters and bookmarks) and fix a few outstanding bugs to make it more user-friendly and convenient to use. We will also complete the final link in the chain of collecting photos for Wikipedia articles that lack them by prompting users to add their recently-uploaded photo to the relevant Wikipedia article.
  • Increasing user acquisition in the Global South: We plan to implement a “limited connectivity” mode, allow pausing and resuming of uploads, and put more time and effort into outreach and socializing the app, especially to underrepresented communities.
  • We also wish to continue to assist the Commons community to reduce vandalism and improve usability of images uploaded. This will be done by implementing selfie detection, and a “to-do” system that reminds users if an image lacks a description/categories.

Your feedback is important to us! Please do take a look at our proposal, and feel free to let us know what you think on the Discussion page, and/or endorse the proposal if you see fit. If you would like to be part of the project, new volunteers and additions to our diverse team are always welcome – please visit our GitHub repository and say “Hi”. ๐Ÿ™‚

We want to thank everyone who has cheered us on and supported us throughout the years. As a community-maintained app, we wouldn’t be here without you.

Commons app Project Grant proposal

Version 2.9 beta

Version 2.9 of the Commons app is out for beta testing on theย Googleย Play Store! \o/ You can register for beta testingย here. If you experience any bugs or crashes, or if you find any aspect of the new features to be unwieldy, please do let us know onย GitHub. There are several extensive UI changes in this patch, but with your help, we hope to make the transition as smooth as possible for everyone.

New features

New main screen UI

Our new main screen UI features a more prominent Nearby tab and a floating action button for uploads. It also displays the nearest place that needs pictures (if location permissions and GPS are enabled), and alerts you if you have user talk messages that have not been read.

New upload UI with multiple uploads

You can now do multiple uploads within the app itself, without needing to use the stock gallery workaround! You will need to input a title and description for every image, but can select categories once for all. This design decision was reached because we did not want to risk vandalism where someone uploads their entire camera roll in one shot, but we also wanted to provide some conveniences for genuine multiple uploaders. We may reconsider this in the future depending on feedback.

Oh, and we have a new upload UI! ๐Ÿ™‚

“Send Log file” option

We have revamped the “send log file” feature, which was not generating anything useful previously. If you are experiencing a bug, it would help us greatly with solving it if you send us your log file shortly after the bug occurs. To do this, go to Settings > Send Log file, and follow the instructions there. As mentioned in the subtext, please note that this may potentially reveal identifying information about yourself to us, so only do this if you are comfortable with that possibility. Logs are sent to a private mailing list that only developers who have signed a NDA with WMF can access, and we have made every effort to sanitize the logs. However, things like your location etc may still be revealed in them.

Major bugfixes

Fixed issues with wrong “image taken” date

There was a bug with v2.8.x releases where the upload date was used in the date template of images, instead of the date the image was taken. This has now been fixed.

Fixed default zoom level in Nearby map

Previously, the default zoom level in the Nearby map was too high, meaning that you would need to zoom in a lot before the map was usable. It should now be fixed to a more reasonable level.

 

Version 2.9 beta

Commons app – Version 2.8 beta

Apologies for the long break between releases – we have been busy working on fixing an issue that many users were reporting with failed uploads, and we are thrilled to announce that we may have finally solved it! ๐Ÿ™‚ Additionally, Wikidata integration is now complete, with uploads via Nearby Places automatically editing the p18 property of the associated Wikidata item. There are several other new features, including two recently-completed GSoC projects that we mentored – users can now browse other images on Commons, and view their achievements and upload statistics.

Please feel free toย registerย for beta testing if you would like to help test v2.8. If you experience any bugs or crashes, or if you find any aspect of the new features to be unwieldy, please do let us know onย GitHub.

Important bugfixes

Failed uploads

Over the last two months, we have attempted to debug and solve a problem reported by many users – that their uploads consistently fail. We had a lot of difficulty reproducing the problem, figuring out what caused it and obtaining the information needed to fix things, and we almost had to revert the new 2FA feature as a last resort. But we finally have a solution that fixes the problem for our testers (while still keeping 2FA intact), so we hope this works for everyone else too!

For those experiencing this issue, please register for beta testing and update to version 2.8, and let us know if it does not solve the problem for you.

Crashes during upload

We have also fixed a longstanding issue with users occasionally crashing halfway through an upload.

New features

Wikidata p18 edits via Nearby uploads

The “Nearby places that need pictures” feature works by searching for Wikidata items that are located within a certain radius of the user and are missing the p18 property. Now, when you upload an image to a pin on the Nearby map or list, the image will be automatically added to the p18 property of that Wikidata item. ๐Ÿ™‚

To illustrate the workflow, we will again use the example of Queen Street Mall, a Wikidata item that lacks a photo:

  • I selected the “Queen Street Mall” pin on my Nearby map and tapped the camera button on the right side of the screen
  • I took a photo of the mall, and the title and description fields were automatically filled for me based on the properties of that Wikidata item
  • I tapped the arrow button on the upper right, and selected categories based on the suggestions given
  • After the upload completes, I check the Queen Street Mall page on Wikidata, and find that my image has been added to the “image” property
  • After refreshing the Nearby map, the Queen Street Mall pin is gone, because it now has a photo!

This feature is in its infancy, so we are keeping tabs on Wikidata edits that have been made via our app here.

Browse other images on Commons, including featured images, via “Explore”

The “Explore” feature is a GSoC project by Ujjwal Agrawal, mentored by Neslihan Turan and Nicolas Raoul. It builds on top of the “view featured images” feature that we had recently implemented, adding the search function to view other non-featured images. Featured images are displayed by default, but all images in Commons can be viewed by searching for a title or a category. More details about an image can be viewed by tapping on it.

View your achievements and upload statistics

The new “Achievements” feature is part of a GSoC project by Tanvi Dadu, mentored by Vivek Maskara and myself. Accessible by tapping on the “trophy” icon next to your username, you can view your images uploaded, % of images not deleted, and images used, all of which are used to calculate your level.

 

Quiz for users with high deletion rates

Also part of Tanvi’s GSoC project, this feature aims to help educate users who are found to have excessively high revert rates. A quiz will pop up for them in the app, and they can see the correct answer immediately after attempting a question.

First-run tutorial for Nearby Places

Based on feedback from new users, we have designed a short first-run tutorial explaining the Nearby Places feature.

Upload stats for 2018

We have a record high number of uploads via the app in 2018 Q2, with only a small fraction of them requiring deletion. \o/ Thank you all for your contributions! (Source:ย Commons app statsย courtesy of Yusuke. 2018Q3 still in progress.)

Commons app – Version 2.8 beta

Commons app – version 2.7 beta release

Version 2.7 of the Commons app has just been released for beta testing on the Googleย Play Store! \o/ Please feel free to register for beta testing if you would like to help test the new features. If you experience any bugs or crashes, or if you find any aspect of the new features to be unwieldy, please do let us know on GitHub.

New features

New “Nearby places that need pictures” UI with direct uploads (and associated category suggestions)

You can now upload a photo directly from the map or list of nearby places that need pictures! Below are screenshots of my workflow for uploading a photo of “Queen Street Mall”:

  1. Go to the map of Nearby Places and select the corresponding pin from there, or the corresponding item from the list
  2. Tap the camera or gallery button, and select or take an image as usual
  3. The title and description of the image is automatically pre-filled in the next screen, but you can edit it if you wish
  4. If that item has a Commons category associated with it, that category will be on the top of the list of suggested categories

 

Enabled two-factor authentication login

Power users with two-factor authentication enabled for their account can now log in to those accounts via our app.

Added Notifications activity to display Commons user talk messages

Any user talk messages that you received can now be viewed via the “Notifications” screen (can be accessed via the navigation drawer).

Added real-time location tracking in Nearby

The map of Nearby places should now track your real-time position, moving your marker on the map as you move.

Improvements to UI of navigation drawer, tutorial, media details view, login activity and Settings

Added option to nominate picture for deletion in media details view

You can now nominate (your own) pictures for deletion in the media details view.

Also, too many crashes and bug fixes to mention!

Various crashes and bugs that are commonly encountered should have been fixed in the latest version. If you encounter any further crashes, please send feedback to us in the popup dialog.

Join our community

We have had a record number of contributors to our GitHub repository last month! ๐Ÿ™‚ If you are interested in joining a diverse community of volunteers and grantees to work on the Commons app, check us out on GitHub. Both technical and non-technical contributors are greatly appreciated – non-technical contributions may involve testing, translations, patrolling, or writing documentation. More information for new contributors can be found in our GitHub wiki.

Coming up next….

  • Wikidata edits – uploading an image via Nearby will add it to the p18 property of the associated Wikidata item and remove that item from Nearby
  • A showcase of featured images
  • Multiple uploads
  • New UI for the main screen

A huge thank you to everyone who has supported us thus far! โค

Commons app – version 2.7 beta release

Commons app update: version 2.6

Our Individual Engagement Grant has been renewed! ๐Ÿ™‚ Thank you so much to everyone who supported our application – reading all of the wonderful comments has been extremely meaningful and encouraging for us.

We have been hard at work getting version 2.6 of the app out; there was a bit of a rocky start with the first few beta iterations, but we finally have v2.6.5 in production! \o/ Improvements in the current version include:

New UI

  • A brand new login screen
  • New design for the list of nearby places that need pictures
  • New navigation drawer design with username displayed
  • The upload screen has been remodeled to include tooltips for title and description fields, as well as an explicit copyright declaration and a link to Commons policies
  • Improved media details view with links to the selected license, categories and image coordinates

Category search

  • Fixed common issue with category search getting stuck forever
  • If a category has an exact name entered, it will be shown first
  • Added filter for irrelevant categories

Nearby Places that need pictures

  • Fixed issues with GPS that was causing “No nearby places found” errors
  • Improved handling of the refresh button

Tech-related

  • Added product flavors for the beta-cluster Wikimedia servers – this allows developers to test most of the features in our app without having to upload test pictures to the actual Commons server
  • Added RxJava library, migrated to Java 8
  • Switched to using vector icons for map markers
  • Added several unit tests
  • Converted PNGs to WebPs to reduce APK size

Privacy

  • Modified About page to include WMF disclaimer
  • Modified Privacy Policy link to point to our individual privacy policy
  • Switched to using Wikimedia maps server instead of Mapbox for privacy reasons
  • Removed obsolete EventLogging schemas from appย  for privacy reasons

Misc improvements

  • Fixed crash when using the camera
  • Reduced memory leaks and battery usage
  • Multiple fixes for various other crashes/bugs
  • Various improvements to navigation flow and backstack
  • Added option for users to send app logs to developers to help us troubleshoot any problems they are experiencing (has to be manually activated by user)

Facebook page

We have created a new Facebook page that we will be posting updates on!

Stats for 2017

The end of 2017 is nigh and the stats are in! Roughly 24,000 new images were uploaded via our app this year, and only a fraction of them required deletion. ๐Ÿ™‚

 

 

Coming up next….

We are also currently in the process of implementing a few major new features that we anticipate will be included in our next release:

  • A new and improved Nearby Places UI with hybrid list/map and bottom sheets for individual places
  • Direct uploads from Nearby Places with relevant title, description and categories suggested
  • Two-factor authentication login

Happy holidays, and stay tuned! ๐Ÿ™‚

Commons app update: version 2.6

Commons app – our plans for the next 6 months

We are excited to announce our (tentative) plans for the Wikimedia Commons app for the next 6 months! ๐Ÿ™‚

A little background: The Wikimedia Commons app was funded via an Individual Engagement Grant (IEG) last year. Several new features and improvements were made to the app over the course of the previous grant. Examples include a list and map of nearby places that need photos (based on Wikidata), category suggestions based on the image title, prevention of duplicate uploads, and a new tutorial to educate new users on what types of photos should or should not be uploaded. 20554 new files were uploaded via the app during the grant period with an overall deletion rate of 15.74% (11.7% in the final two weeks after the new tutorial was implemented), and 3485 images that were uploaded via the app were used in Wikimedia articles.

While we are very happy with the progress made, users have requested many other improvements that we would like to make but were not able to fit into the scope of the previous grant. Thus we are proposing a renewal of the IEG in order to work on these. Highlights of the proposed improvements include:

Mock-up of the planned new UI

  • Enhancing the “Nearby places that need photos” feature by (1) allowing users to upload their image directly from a location on the list or map, with suggested title and categories based on the associated Wikidata item, and (2) displaying the user’s real-time position on the map to allow easier navigation to the location they wish to photograph
  • Improving user education by displaying Commons account and user talk notifications (e.g. picture nominated for deletion) in the app, adding a gallery of featured images, and adding various notices and explanations in the upload screen
  • A sleeker, more intuitive, and more interactive user interface – a floating action button for uploads, “Nearby places that need photos” in a tab alongside the user’s contributions, and a panel to display Commons account notifications and information about the nearest place that needs photos
  • Various technical and quality-of-life improvements, such as two-factor authentication login, multiple uploads, preventing overwrites, and fixing memory leaks and battery drain issues

 

We would very much appreciate feedback and suggestions on the renewal proposal. Please do take a look at it, feel free to ask questions and make new suggestions on the Discussion page, and/or endorse the proposal if you see fit. If you would like to be part of the project, new volunteers and additions to our diverse team are always welcome – please visit our GitHub repository or Google groups forum and say “Hi”. ๐Ÿ™‚

Commons app – our plans for the next 6 months